/**
*Clase controladora para la Configuracion de la Simulacion
*@autor T-Complement
*@version 2
*@fecha junio 16 de 2009
*/

package iuTaxSimula;

import mnTaxSimula.Simulacion;

public class ConfigurarSimulacion {

    private Simulacion simulacion;
    private PantallaConfigurarSimulacion pantallaConfigurarSimulacion;

    /*Constructor de la clase Iniciar simulacion
    * @param tiene como parametros de entrada el objeto simulacion, centralComunicaciones
    * @pre
    * @pos
    * @exception
    */
    public ConfigurarSimulacion(Simulacion simulacion){
        this.simulacion = simulacion;
    }

    /*
    * @param
    * @pre
    * @pos
    * @exception
    */
    public void configurarSimulacion(){
        leerDatosConfiguracion();
    }

    /*
    * @param
    * @pre
    * @pos
    * @exception
    */
    private void leerDatosConfiguracion(){
        pantallaConfigurarSimulacion = new PantallaConfigurarSimulacion();
        pantallaConfigurarSimulacion.setVisible(true);
        while(pantallaConfigurarSimulacion.getBandera() != 0)
        {
            validarDatosConfiguracion();
        }
    }

    /*
    * @param
    * @pre
    * @pos
    * @exception
    */
    public void validarDatosConfiguracion(){
        int cantidadTaxis;
        int cantidadCarreras;
        int cantidadCalles;
        cantidadTaxis = pantallaConfigurarSimulacion.getCantidadTaxis();
        cantidadCalles = pantallaConfigurarSimulacion.getCantidadCalles();
        cantidadCarreras = pantallaConfigurarSimulacion.getCantidadCarreras();
        if((simulacion.validarTaxis(cantidadTaxis))&&(simulacion.validarCalles(cantidadCalles))&&(simulacion.validarCarreras(cantidadCarreras)))
        {
            simulacion.setcantidadCalles(cantidadCalles);
            simulacion.setcantidadCarreras(cantidadCarreras);
            simulacion.setcantidadTaxis(cantidadTaxis);
            //**********Para ensayar
            System.out.println("" + simulacion.getcantidadCalles() + simulacion.getcantidadCarreras() + simulacion.getcantidadTaxis() + "");
        }
        else
        {
            //***************Se debe lanzar una excepcion
        }
    }
}
